﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PI_CS_Tools;

namespace  PI_CS_Library.Virtual_Network_Information_Model
{
    public class MatrixConnection<SrcPointType, SinkPointType> : IMatrixConnection
    {
        Identification _id;
        Identification _networkConnectionId;
        Identification _matrixId;
        SrcPointType _srcPoint;
        SinkPointType _sinkPoint;

        public MatrixConnection(SrcPointType _srcPoint, SinkPointType _sinkPoint, Identification _networkConnectionId)
        {
            _id = new Identification("Matrix Connection: From: "+_srcPoint.ToString()+" To: "+ _sinkPoint.ToString()+" Part of: " + _networkConnectionId.Description);
            this._srcPoint = _srcPoint;
            this._sinkPoint = _sinkPoint;
            this._networkConnectionId = _networkConnectionId;
        }

        public Identification Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public SrcPointType SrcPoint
        {
            get { return _srcPoint; }
            set { _srcPoint = value; }
        }

        public SinkPointType SinkPoint
        {
            get { return _sinkPoint; }
            set { _sinkPoint = value; }
        }

        public Identification NetworkConnectionId
        {
            get { return _networkConnectionId; }
            set { _networkConnectionId = value; }
        }

        public Identification MatrixId
        {
            get { return _matrixId; }
            set { _matrixId = value; }
        }
    }

    public interface IMatrixConnection
    {

    }

}
